home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
EnigmA Amiga Run 1997 February
/
EnigmA AMIGA RUN 15 (1997)(G.R. Edizioni)(IT)[!][issue 1997-02][PLANET CD V].iso
/
enigma
/
earcd
/
emula
/
arosdv19.lha
/
AROS
/
config
/
dummy
/
exception.
< prev
next >
Wrap
Text File
|
1996-09-12
|
584b
|
29 lines
#include <exec/execbase.h>
#include <clib/exec_protos.h>
#include <machine.h>
void exception(struct ExecBase *SysBase)
{
struct Task *me=SysBase->ThisTask;
ULONG sig;
APTR data;
BYTE idn;
me->tc_Flags&=~TF_EXCEPT;
idn=SysBase->IDNestCnt;
SysBase->IDNestCnt=0;
for(;;)
{
sig=me->tc_SigExcept&me->tc_SigRecvd;
if(!sig)
break;
me->tc_SigExcept^=sig;
me->tc_SigRecvd ^=sig;
data=me->tc_ExceptData;
Enable();
sig=((ULONG(*)(ULONG,APTR,struct ExecBase*))me->tc_ExceptCode)
(sig,data,SysBase);
Disable();
me->tc_SigExcept|=sig;
}
SysBase->IDNestCnt=idn;
}